home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 32 / jots.zip / GUESS.BAS < prev    next >
BASIC Source File  |  1989-03-14  |  2KB  |  92 lines

  1. ' GUESS.BAS -- This module handles the user's guesses and the guess box
  2. ' $INCLUDE: 'J.INC'
  3.  
  4. DIM SHARED MyBox AS BoxType, TopRow, BotRow, LftCol, RtCol
  5.  
  6. FUNCTION GuessAWord$
  7.     ShowMessage ("Enter a 5-letter word. <TAB> to change box. <ESC> to end")
  8.     HighlightBox (GuessBox)
  9.     Guess$ = ""
  10.     Row = TopRow + 3
  11.     Col = LftCol + 4
  12.     LOCATE Row, Col, 0
  13.     COLOR Dark, Background, Background
  14.     PRINT "-----";
  15.     DO
  16.         COLOR Dark, Background, Background
  17.         LOCATE Row, Col + LEN(Guess$), 1, 0, 7
  18.         DO
  19.             Char$ = UCASE$(INKEY$)
  20.         LOOP UNTIL LEN(Char$)
  21.         IF Char$ = CHR$(9) THEN                   'TAB
  22.             PushMsg
  23.             NormalBox (GuessBox)
  24.             ChangeKnownList
  25.             HighlightBox (GuessBox)
  26.             PopMsg
  27.         ELSEIF Char$ = CHR$(27) THEN              'ESC
  28.             NormalBox (GuessBox)
  29.             HighlightBox (MessageBox)
  30.             PushMsg
  31.             ShowMessage ("Do you really want to stop?")
  32.             DO
  33.                 Ch$ = UCASE$(INPUT$(1))
  34.             LOOP UNTIL INSTR("YN", Ch$)
  35.             IF Ch$ = "N" THEN
  36.                 NormalBox (MessageBox)
  37.                 HighlightBox (GuessBox)
  38.                 PopMsg
  39.             ELSE
  40.                 GuessAWord$ = ""
  41.                 EXIT FUNCTION
  42.             END IF
  43.         ELSEIF Char$ = CHR$(8) AND LEN(Guess$) > 0 THEN   'Backspace
  44.             Guess$ = MID$(Guess$, 1, LEN(Guess$) - 1)
  45.             LOCATE Row, Col + LEN(Guess$), 1, 0, 7
  46.             PRINT "-";
  47.         ELSEIF Char$ = CHR$(13) AND LEN(Guess$) = 5 THEN  'Enter
  48.             IF WordExists(Guess$) THEN
  49.                 LOCATE Row, Col, 0
  50.                 GuessAWord$ = Guess$
  51.                 EXIT FUNCTION
  52.             ELSE
  53.                 PushMsg
  54.                 ShowMessage (CHR$(7) + "Unknown word.  Add it to the dictionary?")
  55.                 IF YesNo = "Y" THEN
  56.                     PopMsg
  57.                     AddWord (Guess$)
  58.                     LOCATE Row, Col, 0
  59.                     GuessAWord$ = Guess$
  60.                     EXIT FUNCTION
  61.                 ELSE
  62.                     PopMsg
  63.                     LOCATE Row, Col, 0
  64.                     COLOR Dark, Background, Background
  65.                     PRINT "-----";
  66.                     Guess$ = ""
  67.                 END IF
  68.             END IF
  69.         ELSEIF Char$ >= "A" AND Char$ <= "Z" AND LEN(Guess$) < 5 THEN
  70.             Guess$ = Guess$ + Char$
  71.             COLOR Normal, Background, Background
  72.             PRINT Char$;
  73.         END IF
  74.     LOOP
  75. END FUNCTION
  76.  
  77. SUB InitGuess
  78.     CALL BoxCoords(GuessBox, MyBox)
  79.     TopRow = MyBox.TopRow
  80.     BotRow = MyBox.BotRow
  81.     LftCol = MyBox.LftCol
  82.     RtCol = MyBox.RtCol
  83.     NormalBox (GuessBox)
  84.     COLOR Normal, Background, Background
  85.     LOCATE TopRow + 1, LftCol + 2, 0
  86.     PRINT "Your Guess";
  87.     COLOR Dark, Background, Background
  88.     LOCATE TopRow + 3, LftCol + 4, 0
  89.     PRINT "-----";
  90. END SUB
  91.  
  92.